// 数独数据，修改表格数据时直接修改这里
let sudo_data;
let sudo_size;
layui.use(['jquery', 'form'], function () {
    let form = layui.form;
    let $ = layui.$;
    $.ajax({
        url:"sudo/getSudo",
        data: {fileName: "1.jpg"}, // 请求的数据，将自动转换为字符串，设置processData参数为false以关闭自动转换
        timeout: 10000, // 请求超时时间
        traditional: true, // 使用传统的方式序列化数据，防止数据深度序列化。网传这样可以很好的处理复选框的数据，当这个参数设置为true时，后台可以直接用List来接受复选框的数据
        type: "POST", // 请求方式。分别有"GET"(默认)、"POST"、"PUT"、"DELETE"，需要注意的是，"PUT"和"DELETE"部分浏览器不支持
        success: function(data) { // 请求成功的回调，参数为服务器返回的字符串
            sudo_data = data.data;
            sudo_size = Math.sqrt(data.count);
            loadTable();
        },
        error: function (xhr, errorMessage, e) { // 请求失败的回调，第二个参数是错误信息，第三个参数(可选)是捕获的异常对象
            console.log(errorMessage);
        }
    });

    function loadTable(data) {
        if (!data) {
            data = sudo_data;
        }
        let tableContent = '';
        for(let y in data){
            tableContent += '<tr>';
            for(let x in data[y]){
                let sudoData = data[x][y];
                let tdStyle = 'border:1px solid;';
                let inputStyle = 'text-align:center;';
                if (x % 3 === 0) {
                    tdStyle = 'border-left:2px solid;border-right:1px solid;border-bottom:1px solid;';
                }
                if (y % 3 === 0) {
                    tdStyle += 'border-top:2px solid;border-right:1px solid;border-bottom:1px solid;';
                }
                if ((y * 1 + x * 1) % 2 !== 0) {
                    tdStyle += 'background-color: #cfcfcf;';
                    inputStyle += 'background-color: #cfcfcf;';
                }
                tableContent += '<td style="' + tdStyle + '">' +
                    '<input style="' + inputStyle + '" class="input" id="input_' + (x + '_' + y) + '" name="sudo_input" value="' + sudoData + '"/>' +
                    '</td>';
            }
            tableContent += '</tr>';
        }
        $("#table").html(tableContent);
    }

    form.on("submit(answer)", function () {
        $.ajax({
            url:"sudo/getSudoAnswer",
            data: {sudo: sudo_data}, // 请求的数据，将自动转换为字符串，设置processData参数为false以关闭自动转换
            timeout: 20000, // 请求超时时间
            traditional: true, // 使用传统的方式序列化数据，防止数据深度序列化。网传这样可以很好的处理复选框的数据，当这个参数设置为true时，后台可以直接用List来接受复选框的数据
            contentType: "application/json",
            dataType: "json",
            type: "POST", // 请求方式。分别有"GET"(默认)、"POST"、"PUT"、"DELETE"，需要注意的是，"PUT"和"DELETE"部分浏览器不支持
            success: function(data) { // 请求成功的回调，参数为服务器返回的字符串
                for (let sudoAnswer of data.data) {
                    loadTable(sudoAnswer);
                }
            },
            error: function (xhr, errorMessage, e) { // 请求失败的回调，第二个参数是错误信息，第三个参数(可选)是捕获的异常对象
                console.log(errorMessage);
            }
        });
        return false;
    });
    
    function getSudoData() {
        console.log(sudo_data);
        debugger;
        sudo_data.forEach(function(item, index) {
            console.log(item);
        });
        return sudo_data;
    }
});